package com.sale.salesystem.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;

@Data
/**
 * 报表数据类，用于映射数据库中的report_data表
 */
@TableName("report_data")
public class ReportData {
    /**
     * 主键ID，自动递增
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 商店ID，用于标识数据所属的商店
     */
    private Long shopCode;

    /**
     * 城市，表示数据所属的城市
     */
    private String city;

    /**
     * 渠道，描述数据的来源渠道（线上/线下）
     */
    private String channel;

    /**
     * 性别，用于统计的性别分类
     */
    private String sex;

    /**
     * 年龄，用于统计的年龄分类
     */
    private String age;

    /**
     * 产品类型，数据的类型分类
     */
    private String type;

    /**
     * 客户数量，表示统计周期内的客户数
     */
    private Integer customNum;

    /**
     * 价格，统计周期内的总销售额
     */
    private BigDecimal price;

    /**
     * 订单数量，统计周期内的订单数
     */
    private Integer orderNum;

    /**
     * 购买的产品数量，统计周期内售出的商品总数
     */
    private Integer productNum;

    /**
     * 成本，统计周期内的总成本
     */
    private BigDecimal cost;

    /**
     * 单价，商品的平均售价
     */
    private BigDecimal unitPrice;

    /**
     * 利润，统计周期内的总利润
     */
    private BigDecimal profit;

    /**
     * 订单日期，数据记录的日期
     */
    private LocalDate createTime;

    /**
     * 星期，创建时间对应的星期
     */
    private String week;
}
